package com.lyshop.yinying.core;

import com.lyshop.yinying.bean.AddressBean;
import com.lyshop.yinying.bean.BankListBean;
import com.lyshop.yinying.bean.BindCardBean;
import com.lyshop.yinying.bean.CalendarBean;
import com.lyshop.yinying.bean.CalendarDetail;
import com.lyshop.yinying.bean.CreateOrderResultBean;
import com.lyshop.yinying.bean.CreateShopProductBean;
import com.lyshop.yinying.bean.CredentialBean;
import com.lyshop.yinying.bean.EXPRecordBean;
import com.lyshop.yinying.bean.FollowGreatPeopleInfo;
import com.lyshop.yinying.bean.FollowListBean;
import com.lyshop.yinying.bean.FollowOrderBean;
import com.lyshop.yinying.bean.FollowUserBean;
import com.lyshop.yinying.bean.FreshListBean;
import com.lyshop.yinying.bean.GifBean;
import com.lyshop.yinying.bean.GoodsTicketInfoBean;
import com.lyshop.yinying.bean.HeaderSelectBean;
import com.lyshop.yinying.bean.HomeData;
import com.lyshop.yinying.bean.ImageItemBean;
import com.lyshop.yinying.bean.ImportDialogBean;
import com.lyshop.yinying.bean.ImportantBean;
import com.lyshop.yinying.bean.IntegralRecordBean;
import com.lyshop.yinying.bean.IntegralTicketBean;
import com.lyshop.yinying.bean.InvestSchoolGroupBean;
import com.lyshop.yinying.bean.NewsNoticeBean;
import com.lyshop.yinying.bean.OrderInfoBean;
import com.lyshop.yinying.bean.RechargeBean;
import com.lyshop.yinying.bean.RechargeSettingBean;
import com.lyshop.yinying.bean.RedBagBean;
import com.lyshop.yinying.bean.RetailOrderBean;
import com.lyshop.yinying.bean.RetailTicketBean;
import com.lyshop.yinying.bean.SellOrderInfoBean;
import com.lyshop.yinying.bean.ShopGoodsListBean;
import com.lyshop.yinying.bean.SignBean;
import com.lyshop.yinying.bean.TakeMoneyTipsBean;
import com.lyshop.yinying.bean.TicketBean;
import com.lyshop.yinying.bean.TransfeRecordBean;
import com.lyshop.yinying.bean.TurnCardBean;
import com.lyshop.yinying.bean.TxLiveTokenBean;
import com.lyshop.yinying.bean.UserBalanceBean;
import com.lyshop.yinying.bean.UserBankCardBean;
import com.lyshop.yinying.bean.UserIdCardBean;
import com.lyshop.yinying.bean.UserInfoBean;
import com.lyshop.yinying.bean.UserMessageBean;
import com.lyshop.yinying.bean.VersionBean;
import com.lyshop.yinying.bean.WelfareTaskBean;
import com.lyshop.yinying.net.ActionCallbackListener;
import com.zc.mychart.model.GoodsAllBean;

import java.util.List;

public interface AppAction {
    void getTxLiveSdk(String cert_no, String user_name, ActionCallbackListener<TxLiveTokenBean> listener);

    void getCosUpload(ActionCallbackListener<CredentialBean> listener);

    void getBankList(String tcId, ActionCallbackListener<List<BankListBean>> listener);

    void getBanner(String type, ActionCallbackListener<List<ImageItemBean>> listener);

    void getRegisterCode(String mobile, final ActionCallbackListener<Void> listener);

    void register(String mobile, String code, String trade_password, String pushId, ActionCallbackListener<Void> listener);

    void login(String mobile, String password, String pushId, ActionCallbackListener<UserInfoBean> listener);

    void authOneKey(String token, String pushId, ActionCallbackListener<UserInfoBean> listener);

    void getUserDetail(ActionCallbackListener<UserInfoBean> listener);

    void resetPasswordCode(String mobile, ActionCallbackListener<Void> listener);

    void resetPassword(String mobile, String code, String password, ActionCallbackListener<Void> listener);

    void getAllList(ActionCallbackListener<List<GoodsAllBean>> listener);

    void getNewNoticeList(ActionCallbackListener<List<NewsNoticeBean>> listener);

    void getImportant(ActionCallbackListener<ImportantBean> listener);

    void getOrderSquare(ActionCallbackListener<List<SellOrderInfoBean>> listener);

    void getRetailGoods(int page, ActionCallbackListener<List<ShopGoodsListBean>> listener);

    void getFollowList(int page, boolean openTime, String contract, boolean follow, String level, ActionCallbackListener<List<FollowOrderBean>> listener);

    void getGifList(ActionCallbackListener<List<GifBean>> listener);

    void getKMap(String pro_code, String type, ActionCallbackListener<List<List<Double>>> listener);

    void getPayList(ActionCallbackListener<RechargeSettingBean> listener);

    void getWelfareList(ActionCallbackListener<WelfareTaskBean> listener);

    void signPost(final ActionCallbackListener<Void> listener);

    void getCardList(String channel_id, ActionCallbackListener<UserBankCardBean> listener);

    void userSaving(int code, int amount, ActionCallbackListener<RechargeBean> listener);

    void userSaving(String code, String amount, String card_no, String phone, String card_user_name, String cert_no, String bank, ActionCallbackListener<RechargeBean> listener);

    void uploadCert(String back, String front, ActionCallbackListener<UserIdCardBean> listener);

    void uploadCertConfirm(String name, String request_id, ActionCallbackListener<Void> listener);

    void createPro(OrderInfoBean order, ActionCallbackListener<CreateOrderResultBean> listener);

    void getHoldOrderList(ActionCallbackListener<List<OrderInfoBean>> listener);

    void getHistoryOrderList(int page, ActionCallbackListener<List<OrderInfoBean>> listener);

    void sellOrder(String order_id, ActionCallbackListener<Void> listener);

    void editOrderInfo(String order_id, int target_profit, int stop_loss, ActionCallbackListener<Void> listener);

    void getInvestSchoolList(ActionCallbackListener<List<InvestSchoolGroupBean>> listener);

    void getRetailTicket(String goods_id, int sceneType, ActionCallbackListener<GoodsTicketInfoBean> listener);

    void getTaskszIntegral(String list_id, String tasks_id, ActionCallbackListener<Void> listener);

    void takeMoneyGetCode(ActionCallbackListener<Void> listener);

    void takeMoneySubmit(String amount, String channel_id, String sms_code, ActionCallbackListener<Void> listener);

    void takeMoneyTips(ActionCallbackListener<TakeMoneyTipsBean> listener);

    void unbindCard(String channel_id, String code, ActionCallbackListener<Void> listener);

    void userRechargeConfirm(String bind_card_id, String order_no, String code, ActionCallbackListener<Void> listener);

    void getIntegralTicketListData(ActionCallbackListener<List<IntegralTicketBean>> listener);

    void exchangeTicket(String list_id, ActionCallbackListener<Void> listener);

    void getSignDataList(ActionCallbackListener<List<SignBean>> listener);

    void getUnbindCardCode(ActionCallbackListener<Void> listener);

    void getAddressList(ActionCallbackListener<List<AddressBean>> listener);

    void createShopOrder(CreateShopProductBean bean, ActionCallbackListener<Void> listener);

    void deleteAddress(String id, ActionCallbackListener<Void> listener);

    void createAddress(AddressBean mAddressBean, ActionCallbackListener<Void> listener);

    void editAddress(AddressBean mAddressBean, ActionCallbackListener<Void> listener);

    void createProduct(CreateShopProductBean bean, ActionCallbackListener<Void> listener);

    void bindCard(String channel_id, String card_no, String phone, String cert_no, String bank_code, String card_user_name, ActionCallbackListener<BindCardBean> listener);

    void confirmBindCard(String bind_card_id, String order_no, String check_rest, String sms_code, String base64Img, ActionCallbackListener<Void> listener);

    void getTransfeRecord(String transferType, int page, ActionCallbackListener<List<TransfeRecordBean>> listener);

    void getIntegralLog(String integral_type, String month, int page, ActionCallbackListener<List<IntegralRecordBean>> listener);

    void getMsgList(int page, ActionCallbackListener<List<UserMessageBean>> listener);

    void getExperienceLog(int page, ActionCallbackListener<List<EXPRecordBean>> listener);

    void getUserTicketList(String type, int page, ActionCallbackListener<List<TicketBean>> listener);

    void getAvatarList(ActionCallbackListener<List<HeaderSelectBean>> listener);

    void editUserAvatar(String header_id, ActionCallbackListener<Void> listener);

    void editUserNickName(String nickName, ActionCallbackListener<Void> listener);

    void getRetailOrderList(String status, String orderType, int page, ActionCallbackListener<List<RetailOrderBean>> listener);

    void confirmOrder(String order_id, ActionCallbackListener<Void> listener);

    void getMyFollowOrder(int page, String userId, ActionCallbackListener<List<FollowOrderBean>> listener);

    void followUser(FollowUserBean bean, ActionCallbackListener<Void> listener);

    void followList(int type, int page, ActionCallbackListener<List<FollowListBean>> listener);

    void getRetailTicketList(ActionCallbackListener<List<RetailTicketBean>> listener);

    void editPushMsg(String msgIds, ActionCallbackListener<Void> listener);

    void loopPushList(ActionCallbackListener<FreshListBean> listener);

    void uploadPushId(String id, ActionCallbackListener<Void> listener);

    void updateVersion(String type, ActionCallbackListener<VersionBean> listener);

    void getFollowGreatPeopleInfo(String userId, ActionCallbackListener<FollowGreatPeopleInfo> listener);

    void getCalendarData(String date, ActionCallbackListener<List<CalendarBean>> listener);

    void getCalendarDetail(String id, ActionCallbackListener<CalendarDetail> listener);

    void getImportNoticeDialog(ActionCallbackListener<ImportDialogBean> listener);

    void readNotice(String id, ActionCallbackListener<Void> listener);

    void getRedBagList(ActionCallbackListener<List<RedBagBean>> listener);

    void drawRedBag(ActionCallbackListener<Void> listener);

    void getTurnCardList(ActionCallbackListener<TurnCardBean> listener);

    void drawTurnCard(ActionCallbackListener<TurnCardBean> listener);

    void adPost(ActionCallbackListener<Void> listener);

    void getHomeData(String type, ActionCallbackListener<HomeData> listener);

    void getUserBalance(ActionCallbackListener<UserBalanceBean> listener);

    void getPayPasswordCode(ActionCallbackListener<Void> listener);

    void setPayPassword(String code, String password, String confirmPasswrod, ActionCallbackListener<Void> listener);
}
